/*
 * Copyright (c) 2001, 2002 Boris Pruessmann and others. All rights reserved.
 * This program and the accompanying materials are made available under the
 * terms of the Common Public License v0.5 which accompanies this distribution,
 * and is available at http://www.eclipse.org/legal/cpl-v05.html
 * 
 * Contributors: Boris Pruessmann - Initial implementation.
 */
package net.sourceforge.perforce.core.api;

/**
 * This interface describes the result of a 'p4 info' command.
 * 
 * @version $Revision: 488 $
 * @author <a href="mailto:bpruessmann@users.sourceforge.net">Boris
 *         Pruessmann</a>
 */
public interface IInfoResult {
  //----------------------------------------------------------------------------
  // --------- Methods

  /**
   * Returns the current set user name.<br>
   * <b>NB: A user with this name does not neccessarily exist on the server.</b>
   * 
   * @return the user name.
   */
  String getUserName();

  /**
   * Returns the current set client name.<br>
   * <b>NB: A client with this name does not neccessarily exist on the
   * server.</b>
   * 
   * @return the cliet name.
   */
  String getClientName();

  /**
   * Returns the current set host name.<br>
   * <b>NB: A host with this name does not neccessarily exist on the server.</b>
   * 
   * @return the host name.
   */
  String getClientHost();

  /**
   * Returns the current set client root. If the client does not exist, returns
   * null.
   * 
   * @return the client root.
   */
  String getClientRoot();

  /**
   * Returns the current address of the client.
   * 
   * @return the client's address.
   */
  String getClientAddress();

  /**
   * Returns the current server address.
   * 
   * @return the address of the server.
   */
  String getServerAddress();

  /**
   * Returns the server root.
   * 
   * @return the server root.
   */
  String getServerRoot();

  /**
   * Returns the date as set on the server.
   * 
   * @return the date as currently set on the server.
   */
  String getServerDate();

  /**
   * Returns the server version information.
   * 
   * @return the server's versin information.
   */
  String getServerVersion();

  /**
   * Returns the server license information.
   * 
   * @return the server's license information.
   */
  String getServerLicense();
}
